package com.lancoo.cvas.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.io.Serializable;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

/**
 * 学生
 *
 * @author liufeng
 * @email 1037383243@qq.com
 * @date 2023-12-04 11:54:00
 */
@Data
@TableName("student")
@Accessors(chain = true)
@ApiModel("学生信息")
public class Student implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 学生id
     */
    @ApiModelProperty("学生id")
    @TableId(value = "student_id", type = IdType.AUTO)
    private Long studentId;
    /**
     * 任务id
     */
    @ApiModelProperty("任务id")
    private Integer taskId;
    /**
     * 基础平台学生id
     */
    @ApiModelProperty("基础平台学生id")
    private String baseStudentId;
    /**
     * 学生名称
     */
    @ApiModelProperty("学生名称")
    private String studentName;
    /**
     * 学生头像
     */
    @ApiModelProperty("学生头像")
    private String imageUrl;
    /**
     * 行政班id
     */
    @ApiModelProperty("行政班id")
    private String classId;
    /**
     * 行政班名称
     */
    @ApiModelProperty("行政班名称")
    private String className;
    /**
     * 专业id
     */
    @ApiModelProperty("专业id")
    private String majorId;
    /**
     * 专业名称
     */
    @ApiModelProperty("专业名称")
    private String majorName;
    /**
     * 所属校区
     */
    @ApiModelProperty("所属校区")
    private String campusId;
    /**
     * 所属校区名称
     */
    @ApiModelProperty("所属校区名称")
    private String campusName;
    /**
     * 男 女 保密
     */
    @ApiModelProperty("性别")
    private String sexCode;
    /**
     * 年级id
     */
    @ApiModelProperty("年级id")
    private String gradeId;
    /**
     * 所属年级
     */
    @ApiModelProperty("所属年级")
    private String gradeName;
    /**
     * 选课范围 1本专业年级  2本专业跨年级 3本院系跨年级 4全部专业年级
     */
    @ApiModelProperty("选课范围")
    private Integer selectionScope;
    /**
     * 主修学分上限
     */
    @ApiModelProperty("主修学分上限")
    private Double creditLimitMain;
    /**
     * 主修课程数上限
     */
    @ApiModelProperty("主修课程数上限")
    private Integer courseLimitMain;
    /**
     * 辅修学分上限
     */
    @ApiModelProperty("辅修学分上限")
    private Double creditLimitMinor;
    /**
     * 辅修课程数上限
     */
    @ApiModelProperty("辅修课程数上限")
    private Integer courseLimitMinor;
    /**
     * 上限设置 1未设置 2已设置
     */
    @ApiModelProperty("上限设置")
    private Integer stateLimit;
    /**
     * 1仅主修 2存在辅修
     */
    @ApiModelProperty("1仅主修 2存在辅修")
    private Integer onlyMajor;
    /**
     * 删除标识：
     * 0：未删除
     * 1：删除
     */
    @ApiModelProperty("删除标识")
    private Integer deleted;
    /**
     *
     */
    private String reserve;

}
